#! /usr/bin/env python

from copy import copy

from constants import *

from mochikoro import Mochikoro
from slitherlink import SlitherLink
from tritower import Tritower
from nurikabe import Nurikabe
from masyu import Masyu
from hitori import Hitori

#puz = SlitherLink('''
#                  ----0-
#                  33--1-
#                  --12--
#                  --20--
#                  -1--11
#                  -2----
#                  ''')
#puz = SlitherLink('''
#                    -2---
#                    23---
#                    ---2-
#                    22--3
#                    -3--3
#                    ''')
#puz = SlitherLink('''
#                  3-31----31----11-1
#                  --3--33----13---3-
#                  201-0--3--0--21--3
#                  1----1-1--1-1--1-1
#                  ---2--1-12-3--3---
#                  ---3--2-03-1--3---
#                  2-0--2-2--0-0----3
#                  1--30--0--2--3-111
#                  -1---11----01--0--
#                  0-32----01----22-3
#                  ''')
#puz = Tritower('''
#               ***-------
#               **---1-----
#               *------2----
#               *0--1----2--
#               **---------
#               ***---1---
#               ''')
#puz = Tritower('''
#               ***..X.X.-
#               **.X.1....-
#               *..X..X2X..-
#               *0..1X..X2X.
#               **X..X.....
#               ***X..1X.X
#               ''')

#puz = Tritower('''
#               ***---------
#               **-2---------
#               *------11-2---
#               -----2------1--
#               1--2--11-2-----
#               *-------------
#               **----1------
#               ***-1-------
#               ''')
#puz = Tritower('''
#               ***X..X...X.
#               **.2X..X..X.-
#               *.X...X11X2..-
#               X...X2X....X1.-
#               1.X2..11X2X..X.
#               *-.X.X..X...X.
#               **...X1...X..
#               ***X1..X..X.
#               ''')

#puz = Nurikabe('''
#               --4-4-4---3
#               -----------
#               -------2---
#               1-2-----2--
#               -2---------
#               -----------
#               ------2----
#               ---7-------
#               3-------1--
#               -1--7----b-
#               -----------
#               ''')
#puz = Masyu('''
#            --@-@--
#            -----0-
#            0------
#            -000---
#            -----@0
#            @------
#            ---00--
#            ''')
#puz = Masyu('''
#            +.+.@-+-@.+-+
#            . . | . | | |
#            +-+.+.+.+.0.+
#            | | | . | | |
#            0.+.+.+-+.+.+
#            | | | | . | |
#            +.0.0.0.+.+.+
#            | | | | . | |
#            +.+-+.+-+-@.0
#            | . . . . . |
#            @-+-+.+.+.+-+
#            . . | . . | .
#            +.+.+-0-0-+.+
#            ''')
puz = Masyu('''
--0-0-----
----0---@-
--@-@-0---
---0--0---
@----0---0
--0----0--
--@---0---
0---@----0
------00--
--@------@
            ''')
#puz = Mochikoro('''
#                --------5-
#                -4-------1
#                3-------4-
#                --2------1
#                ------1-2-
#                -1-6------
#                1------1--
#                -2-------2
#                1-------6-
#                -3--------
#                ''')
#SET_DEBUG(1)
import time
print puz
start_time = time.clock()
puz.solve(1, True)
end_time = time.clock()
print puz
print end_time - start_time
#print puz
